#37D1. It has purely coclosed G2-structure


D.<e1,e2,e3,e4,e6,e7,f1,f2,f3,f4,f6,f7,g1,g2,g3,g4,g6,g7,h1,h2,h3,h4,h6,h7> = GradedCommutativeAlgebra(QQ)
N=D.cdg_algebra({})
N.inject_variables()
psie=e1*e4*e6+e2*e3*e6-e2*e4*e7+e1*e3*e7
psif=f1*f4*f6+f2*f3*f6-f2*f4*f7+f1*f3*f7
psig=g1*g4*g6+g2*g3*g6-g2*g4*g7+g1*g3*g7
psih=h1*h4*h6+h2*h3*h6-h2*h4*h7+h1*h3*h7
Cgfe=g1*f2*f3*e4*e6*e7+g1*f2*e3*f4*e6*e7+g1*f2*e3*e4*f6*e7+g1*f2*e3*e4*e6*f7+g1*e2*f3*f4*e6*e7+g1*e2*f3*e4*f6*e7+g1*e2*f3*e4*e6*f7+g1*e2*e3*f4*f6*e7+g1*e2*e3*f4*e6*f7+g1*e2*e3*e4*f6*f7+f1*g2*f3*e4*e6*e7+f1*g2*e3*f4*e6*e7+f1*g2*e3*e4*f6*e7+f1*g2*e3*e4*e6*f7+e1*g2*f3*f4*e6*e7+e1*g2*f3*e4*f6*e7+e1*g2*f3*e4*e6*f7+e1*g2*e3*f4*f6*e7+e1*g2*e3*f4*e6*f7+e1*g2*e3*e4*f6*f7+f1*f2*g3*e4*e6*e7+f1*e2*g3*f4*e6*e7+f1*e2*g3*e4*f6*e7+f1*e2*g3*e4*e6*f7+e1*f2*g3*f4*e6*e7+e1*f2*g3*e4*f6*e7+e1*f2*g3*e4*e6*f7+e1*e2*g3*f4*f6*e7+e1*e2*g3*f4*e6*f7+e1*e2*g3*e4*f6*f7+f1*f2*e3*g4*e6*e7+f1*e2*f3*g4*e6*e7+f1*e2*e3*g4*f6*e7+f1*e2*e3*g4*e6*f7+e1*f2*f3*g4*e6*e7+e1*f2*e3*g4*f6*e7+e1*f2*e3*g4*e6*f7+e1*e2*f3*g4*f6*e7+e1*e2*f3*g4*e6*f7+e1*e2*e3*g4*f6*f7+f1*f2*e3*e4*g6*e7+f1*e2*f3*e4*g6*e7+f1*e2*e3*f4*g6*e7+f1*e2*e3*e4*g6*f7+e1*f2*f3*e4*g6*e7+e1*f2*e3*f4*g6*e7+e1*f2*e3*e4*g6*f7+e1*e2*f3*f4*g6*e7+e1*e2*f3*e4*g6*f7+e1*e2*e3*f4*g6*f7+f1*f2*e3*e4*e6*g7+f1*e2*f3*e4*e6*g7+f1*e2*e3*f4*e6*g7+f1*e2*e3*e4*f6*g7+e1*f2*f3*e4*e6*g7+e1*f2*e3*f4*e6*g7+e1*f2*e3*e4*f6*g7+e1*e2*f3*f4*e6*g7+e1*e2*f3*e4*f6*g7+e1*e2*e3*f4*f6*g7
Cfgh=f1*g2*g3*h4*h6*h7+f1*g2*h3*g4*h6*h7+f1*g2*h3*h4*g6*h7+f1*g2*h3*h4*h6*g7+f1*h2*g3*g4*h6*h7+f1*h2*g3*h4*g6*h7+f1*h2*g3*h4*h6*g7+f1*h2*h3*g4*g6*h7+f1*h2*h3*g4*h6*g7+f1*h2*h3*h4*g6*g7+g1*f2*g3*h4*h6*h7+g1*f2*h3*g4*h6*h7+g1*f2*h3*h4*g6*h7+g1*f2*h3*h4*h6*g7+h1*f2*g3*g4*h6*h7+h1*f2*g3*h4*g6*h7+h1*f2*g3*h4*h6*g7+h1*f2*h3*g4*g6*h7+h1*f2*h3*g4*h6*g7+h1*f2*h3*h4*g6*g7+g1*g2*f3*h4*h6*h7+g1*h2*f3*g4*h6*h7+g1*h2*f3*h4*g6*h7+g1*h2*f3*h4*h6*g7+h1*g2*f3*g4*h6*h7+h1*g2*f3*h4*g6*h7+h1*g2*f3*h4*h6*g7+h1*h2*f3*g4*g6*h7+h1*h2*f3*g4*h6*g7+h1*h2*f3*h4*g6*g7+g1*g2*h3*f4*h6*h7+g1*h2*g3*f4*h6*h7+g1*h2*h3*f4*g6*h7+g1*h2*h3*f4*h6*g7+h1*g2*g3*f4*h6*h7+h1*g2*h3*f4*g6*h7+h1*g2*h3*f4*h6*g7+h1*h2*g3*f4*g6*h7+h1*h2*g3*f4*h6*g7+h1*h2*h3*f4*g6*g7+g1*g2*h3*h4*f6*h7+g1*h2*g3*h4*f6*h7+g1*h2*h3*g4*f6*h7+g1*h2*h3*h4*f6*g7+h1*g2*g3*h4*f6*h7+h1*g2*h3*g4*f6*h7+h1*g2*h3*h4*f6*g7+h1*h2*g3*g4*f6*h7+h1*h2*g3*h4*f6*g7+h1*h2*h3*g4*f6*g7+g1*g2*h3*h4*h6*f7+g1*h2*g3*h4*h6*f7+g1*h2*h3*g4*h6*f7+g1*h2*h3*h4*g6*f7+h1*g2*g3*h4*h6*f7+h1*g2*h3*g4*h6*f7+h1*g2*h3*h4*g6*f7+h1*h2*g3*g4*h6*f7+h1*h2*g3*h4*g6*f7+h1*h2*h3*g4*g6*f7
(-1/6)*psie*Cgfe*psif*psih*Cfgh*psig



D.<e1,e2,e3,e4,e6,e7,f1,f2,f3,f4,f6,f7,g1,g2,g3,g4,g6,g7,h1,h2,h3,h4,h6,h7,x1,x2,x3,x4,x6,x7,y1,y2,y3,y4,y6,y7,z1,z2,z3,z4,z6,z7> = GradedCommutativeAlgebra(QQ)
N=D.cdg_algebra({})
N.inject_variables()
psie=e1*e4*e6+e2*e3*e6-e2*e4*e7+e1*e3*e7
psif=f1*f4*f6+f2*f3*f6-f2*f4*f7+f1*f3*f7
psig=g1*g4*g6+g2*g3*g6-g2*g4*g7+g1*g3*g7
psix=x1*x4*x6+x2*x3*x6-x2*x4*x7+x1*x3*x7
psiy=y1*y4*y6+y2*y3*y6-y2*y4*y7+y1*y3*y7
psiz=z1*z4*z6+z2*z3*z6-z2*z4*z7+z1*z3*z7
psixyz=x1*y4*z6+x2*y3*z6-x2*y4*z7+x1*y3*z7
Chxe=h1*x2*x3*e4*e6*e7+h1*x2*e3*x4*e6*e7+h1*x2*e3*e4*x6*e7+h1*x2*e3*e4*e6*x7+h1*e2*x3*x4*e6*e7+h1*e2*x3*e4*x6*e7+h1*e2*x3*e4*e6*x7+h1*e2*e3*x4*x6*e7+h1*e2*e3*x4*e6*x7+h1*e2*e3*e4*x6*x7+x1*h2*x3*e4*e6*e7+x1*h2*e3*x4*e6*e7+x1*h2*e3*e4*x6*e7+x1*h2*e3*e4*e6*x7+e1*h2*x3*x4*e6*e7+e1*h2*x3*e4*x6*e7+e1*h2*x3*e4*e6*x7+e1*h2*e3*x4*x6*e7+e1*h2*e3*x4*e6*x7+e1*h2*e3*e4*x6*x7+x1*x2*h3*e4*e6*e7+x1*e2*h3*x4*e6*e7+x1*e2*h3*e4*x6*e7+x1*e2*h3*e4*e6*x7+e1*x2*h3*x4*e6*e7+e1*x2*h3*e4*x6*e7+e1*x2*h3*e4*e6*x7+e1*e2*h3*x4*x6*e7+e1*e2*h3*x4*e6*x7+e1*e2*h3*e4*x6*x7+x1*x2*e3*h4*e6*e7+x1*e2*x3*h4*e6*e7+x1*e2*e3*h4*x6*e7+x1*e2*e3*h4*e6*x7+e1*x2*x3*h4*e6*e7+e1*x2*e3*h4*x6*e7+e1*x2*e3*h4*e6*x7+e1*e2*x3*h4*x6*e7+e1*e2*x3*h4*e6*x7+e1*e2*e3*h4*x6*x7+x1*x2*e3*e4*h6*e7+x1*e2*x3*e4*h6*e7+x1*e2*e3*x4*h6*e7+x1*e2*e3*e4*h6*x7+e1*x2*x3*e4*h6*e7+e1*x2*e3*x4*h6*e7+e1*x2*e3*e4*h6*x7+e1*e2*x3*x4*h6*e7+e1*e2*x3*e4*h6*x7+e1*e2*e3*x4*h6*x7+x1*x2*e3*e4*e6*h7+x1*e2*x3*e4*e6*h7+x1*e2*e3*x4*e6*h7+x1*e2*e3*e4*x6*h7+e1*x2*x3*e4*e6*h7+e1*x2*e3*x4*e6*h7+e1*x2*e3*e4*x6*h7+e1*e2*x3*x4*e6*h7+e1*e2*x3*e4*x6*h7+e1*e2*e3*x4*x6*h7
Chyf=h1*y2*y3*f4*f6*f7+h1*y2*f3*y4*f6*f7+h1*y2*f3*f4*y6*f7+h1*y2*f3*f4*f6*y7+h1*f2*y3*y4*f6*f7+h1*f2*y3*f4*y6*f7+h1*f2*y3*f4*f6*y7+h1*f2*f3*y4*y6*f7+h1*f2*f3*y4*f6*y7+h1*f2*f3*f4*y6*y7+y1*h2*y3*f4*f6*f7+y1*h2*f3*y4*f6*f7+y1*h2*f3*f4*y6*f7+y1*h2*f3*f4*f6*y7+f1*h2*y3*y4*f6*f7+f1*h2*y3*f4*y6*f7+f1*h2*y3*f4*f6*y7+f1*h2*f3*y4*y6*f7+f1*h2*f3*y4*f6*y7+f1*h2*f3*f4*y6*y7+y1*y2*h3*f4*f6*f7+y1*f2*h3*y4*f6*f7+y1*f2*h3*f4*y6*f7+y1*f2*h3*f4*f6*y7+f1*y2*h3*y4*f6*f7+f1*y2*h3*f4*y6*f7+f1*y2*h3*f4*f6*y7+f1*f2*h3*y4*y6*f7+f1*f2*h3*y4*f6*y7+f1*f2*h3*f4*y6*y7+y1*y2*f3*h4*f6*f7+y1*f2*y3*h4*f6*f7+y1*f2*f3*h4*y6*f7+y1*f2*f3*h4*f6*y7+f1*y2*y3*h4*f6*f7+f1*y2*f3*h4*y6*f7+f1*y2*f3*h4*f6*y7+f1*f2*y3*h4*y6*f7+f1*f2*y3*h4*f6*y7+f1*f2*f3*h4*y6*y7+y1*y2*f3*f4*h6*f7+y1*f2*y3*f4*h6*f7+y1*f2*f3*y4*h6*f7+y1*f2*f3*f4*h6*y7+f1*y2*y3*f4*h6*f7+f1*y2*f3*y4*h6*f7+f1*y2*f3*f4*h6*y7+f1*f2*y3*y4*h6*f7+f1*f2*y3*f4*h6*y7+f1*f2*f3*y4*h6*y7+y1*y2*f3*f4*f6*h7+y1*f2*y3*f4*f6*h7+y1*f2*f3*y4*f6*h7+y1*f2*f3*f4*y6*h7+f1*y2*y3*f4*f6*h7+f1*y2*f3*y4*f6*h7+f1*y2*f3*f4*y6*h7+f1*f2*y3*y4*f6*h7+f1*f2*y3*f4*y6*h7+f1*f2*f3*y4*y6*h7
Chzg=h1*z2*z3*g4*g6*g7+h1*z2*g3*z4*g6*g7+h1*z2*g3*g4*z6*g7+h1*z2*g3*g4*g6*z7+h1*g2*z3*z4*g6*g7+h1*g2*z3*g4*z6*g7+h1*g2*z3*g4*g6*z7+h1*g2*g3*z4*z6*g7+h1*g2*g3*z4*g6*z7+h1*g2*g3*g4*z6*z7+z1*h2*z3*g4*g6*g7+z1*h2*g3*z4*g6*g7+z1*h2*g3*g4*z6*g7+z1*h2*g3*g4*g6*z7+g1*h2*z3*z4*g6*g7+g1*h2*z3*g4*z6*g7+g1*h2*z3*g4*g6*z7+g1*h2*g3*z4*z6*g7+g1*h2*g3*z4*g6*z7+g1*h2*g3*g4*z6*z7+z1*z2*h3*g4*g6*g7+z1*g2*h3*z4*g6*g7+z1*g2*h3*g4*z6*g7+z1*g2*h3*g4*g6*z7+g1*z2*h3*z4*g6*g7+g1*z2*h3*g4*z6*g7+g1*z2*h3*g4*g6*z7+g1*g2*h3*z4*z6*g7+g1*g2*h3*z4*g6*z7+g1*g2*h3*g4*z6*z7+z1*z2*g3*h4*g6*g7+z1*g2*z3*h4*g6*g7+z1*g2*g3*h4*z6*g7+z1*g2*g3*h4*g6*z7+g1*z2*z3*h4*g6*g7+g1*z2*g3*h4*z6*g7+g1*z2*g3*h4*g6*z7+g1*g2*z3*h4*z6*g7+g1*g2*z3*h4*g6*z7+g1*g2*g3*h4*z6*z7+z1*z2*g3*g4*h6*g7+z1*g2*z3*g4*h6*g7+z1*g2*g3*z4*h6*g7+z1*g2*g3*g4*h6*z7+g1*z2*z3*g4*h6*g7+g1*z2*g3*z4*h6*g7+g1*z2*g3*g4*h6*z7+g1*g2*z3*z4*h6*g7+g1*g2*z3*g4*h6*z7+g1*g2*g3*z4*h6*z7+z1*z2*g3*g4*g6*h7+z1*g2*z3*g4*g6*h7+z1*g2*g3*z4*g6*h7+z1*g2*g3*g4*z6*h7+g1*z2*z3*g4*g6*h7+g1*z2*g3*z4*g6*h7+g1*z2*g3*g4*z6*h7+g1*g2*z3*z4*g6*h7+g1*g2*z3*g4*z6*h7+g1*g2*g3*z4*z6*h7
psie*Chxe*psix*psif*Chyf*psiy*psig*Chzg*psiz*psixyz

#psiplus=c*(-x2*x4*x6+x1*x3*x6-x1*x4*x7-x2*x3*x7)

D.<e1,e2,e3,e4,e6,e7,f1,f2,f3,f4,f6,f7,x1,x2,x3,x4,x6,x7> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=e1*e4*e6+e2*e3*e6-e2*e4*e7+e1*e3*e7
psif=f1*f4*f6+f2*f3*f6-f2*f4*f7+f1*f3*f7
omegaxf=(x1*f2+x3*f4+x6*f7)-(f1*x2+f3*x4+f6*x7)
Cxfe=x1*f2*f3*e4*e6*e7+x1*f2*e3*f4*e6*e7+x1*f2*e3*e4*f6*e7+x1*f2*e3*e4*e6*f7+x1*e2*f3*f4*e6*e7+x1*e2*f3*e4*f6*e7+x1*e2*f3*e4*e6*f7+x1*e2*e3*f4*f6*e7+x1*e2*e3*f4*e6*f7+x1*e2*e3*e4*f6*f7-x2*f1*f3*e4*e6*e7-x2*f1*e3*f4*e6*e7-x2*f1*e3*e4*f6*e7-x2*f1*e3*e4*e6*f7-x2*e1*f3*f4*e6*e7-x2*e1*f3*e4*f6*e7-x2*e1*f3*e4*e6*f7-x2*e1*e3*f4*f6*e7-x2*e1*e3*f4*e6*f7-x2*e1*e3*e4*f6*f7+x3*f1*f2*e4*e6*e7+x3*f1*e2*f4*e6*e7+x3*f1*e2*e4*f6*e7+x3*f1*e2*e4*e6*f7+x3*e1*f2*f4*e6*e7+x3*e1*f2*e4*f6*e7+x3*e1*f2*e4*e6*f7+x3*e1*e2*f4*f6*e7+x3*e1*e2*f4*e6*f7+x3*e1*e2*e4*f6*f7-x4*f1*f2*e3*e6*e7-x4*f1*e2*f3*e6*e7-x4*f1*e2*e3*f6*e7-x4*f1*e2*e3*e6*f7-x4*e1*f2*f3*e6*e7-x4*e1*f2*e3*f6*e7-x4*e1*f2*e3*e6*f7-x4*e1*e2*f3*f6*e7-x4*e1*e2*f3*e6*f7-x4*e1*e2*e3*f6*f7+x6*f1*f2*e3*e4*e7+x6*f1*e2*f3*e4*e7+x6*f1*e2*e3*f4*e7+x6*f1*e2*e3*e4*f7+x6*e1*f2*f3*e4*e7+x6*e1*f2*e3*f4*e7+x6*e1*f2*e3*e4*f7+x6*e1*e2*f3*f4*e7+x6*e1*e2*f3*e4*f7+x6*e1*e2*e3*f4*f7-x7*f1*f2*e3*e4*e6-x7*f1*e2*f3*e4*e6-x7*f1*e2*e3*f4*e6-x7*f1*e2*e3*e4*f6-x7*e1*f2*f3*e4*e6-x7*e1*f2*e3*f4*e6-x7*e1*f2*e3*e4*f6-x7*e1*e2*f3*f4*e6-x7*e1*e2*f3*e4*f6-x7*e1*e2*e3*f4*f6
1/2*psie*Cxfe*psif*omegaxf

# x1^2 + x2^2 + x3^2 + x4^2 + x6^2 + x7^2
# The metric is positive definite

A.<x1,x2,x3,x4,x5,x6,x7> = GradedCommutativeAlgebra(QQ)
M=A.cdg_algebra({ x5:x1*x2-x3*x4, x6: x1*x3+x2*x4, x7: x1*x4-x2*x3})
M.inject_variables()
omega=x1*x2+x3*x4+x6*x7
psi=(x1*x4+x2*x3)*x6+(x1*x3-x2*x4)*x7
psiplus=-(-x2*x4*x6+x1*x3*x6-x1*x4*x7-x2*x3*x7)
eta=x5
omega*psi
psi*psiplus-(2/3)*omega^3
psi.differential()
omega*omega.differential()-psi*eta.differential()
omega^2*eta.differential()+2*psiplus*omega.differential()